export const GoogleClientItem = {
  additionalInfo: { providerName: 'Google' },
  platforms: [],
  clientId: null,
  clientSecret: null,
  accessTokenUri: 'https://oauth2.googleapis.com/token',
  authorizationUri: 'https://accounts.google.com/o/oauth2/v2/auth',
  jwkSetUri: 'https://www.googleapis.com/oauth2/v3/certs',
  userInfoUri: 'https://openidconnect.googleapis.com/v1/userinfo',
  clientAuthenticationMethod: 'BASIC',
  mapperConfig: {
    activateUser: false,
    allowUserCreation: false,
    type: 'BASIC',
    basic: {
      alwaysFullScreen: false,
      emailAttributeKey: 'email',
      firstNameAttributeKey: 'given_name',
      lastNameAttributeKey: 'family_name',
      tenantNameStrategy: 'DOMAIN',
      customerNamePattern: null,
      defaultDashboardName: null,
      tenantNamePattern: null,
    },
    custom: {
      password: null,
      sendToken: false,
      url: null,
      username: null,
    },
  },
  loginButtonIcon: 'google-logo',
  loginButtonLabel: 'Google',
  scope: [{ text: 'email' }, { text: 'openid' }, { text: 'profile' }],
  userNameAttributeName: 'email',
};

export const AppleClientItem = {
  mapperConfig: {
    allowUserCreation: false,
    activateUser: false,
    type: 'APPLE',
    basic: {
      emailAttributeKey: 'email',
      firstNameAttributeKey: 'firstName',
      lastNameAttributeKey: 'lastName',
      tenantNameStrategy: 'DOMAIN',
      tenantNamePattern: null,
      customerNamePattern: null,
      defaultDashboardName: null,
      alwaysFullScreen: false,
    },
    custom: {
      password: null,
      sendToken: false,
      url: null,
      username: null,
    },
  },
  clientId: null,
  clientSecret: null,
  authorizationUri: 'https://appleid.apple.com/auth/authorize?response_mode=form_post',
  accessTokenUri: 'https://appleid.apple.com/auth/token',
  scope: [{ text: 'email' }, { text: 'openid' }, { text: 'name' }],
  userInfoUri: null,
  userNameAttributeName: 'email',
  jwkSetUri: 'https://appleid.apple.com/auth/keys',
  clientAuthenticationMethod: 'POST',
  loginButtonLabel: 'Apple',
  loginButtonIcon: 'apple-logo',
  platforms: [],
  additionalInfo: {
    providerName: 'Apple',
  },
};
export const GithubClientItem = {
  mapperConfig: {
    allowUserCreation: false,
    activateUser: false,
    type: 'GITHUB',
    basic: {
      emailAttributeKey: null,
      firstNameAttributeKey: 'name',
      lastNameAttributeKey: null,
      tenantNameStrategy: 'DOMAIN',
      tenantNamePattern: null,
      customerNamePattern: null,
      defaultDashboardName: null,
      alwaysFullScreen: false,
    },
    custom: {
      password: null,
      sendToken: false,
      url: null,
      username: null,
    },
  },
  clientId: null,
  clientSecret: null,
  authorizationUri: 'https://github.com/login/oauth/authorize',
  accessTokenUri: 'https://github.com/login/oauth/access_token',
  scope: [{ text: 'read:user' }, { text: 'user:email' }],
  userInfoUri: 'https://api.github.com/user',
  userNameAttributeName: 'login',
  jwkSetUri: null,
  clientAuthenticationMethod: 'BASIC',
  loginButtonLabel: 'Github',
  loginButtonIcon: 'github-logo',
  platforms: [],
  additionalInfo: {
    providerName: 'Github',
  },
};

export const FacebookClientItem = {
  mapperConfig: {
    allowUserCreation: false,
    activateUser: false,
    type: 'BASIC',
    basic: {
      emailAttributeKey: 'email',
      firstNameAttributeKey: 'first_name',
      lastNameAttributeKey: 'last_name',
      tenantNameStrategy: 'DOMAIN',
      tenantNamePattern: null,
      customerNamePattern: null,
      defaultDashboardName: null,
      alwaysFullScreen: false,
    },
    custom: {
      password: null,
      sendToken: false,
      url: null,
      username: null,
    },
  },
  clientId: null,
  clientSecret: null,
  authorizationUri: 'https://www.facebook.com/v2.8/dialog/oauth',
  accessTokenUri: 'https://graph.facebook.com/v2.8/oauth/access_token',
  scope: [{ text: 'email' }, { text: 'public_profile' }],
  userInfoUri: 'https://graph.facebook.com/me?fields=id,name,first_name,last_name,email',
  userNameAttributeName: 'email',
  jwkSetUri: null,
  clientAuthenticationMethod: 'BASIC',
  loginButtonLabel: 'Facebook',
  loginButtonIcon: 'facebook-logo',
  platforms: [],
  additionalInfo: {
    providerName: 'Facebook',
  },
};

export const CustomClientItem = {
  mapperConfig: {
    allowUserCreation: true,
    activateUser: false,
    type: 'BASIC',
    basic: {
      emailAttributeKey: 'email',
      firstNameAttributeKey: null,
      lastNameAttributeKey: null,
      tenantNameStrategy: 'DOMAIN',
      tenantNamePattern: null,
      customerNamePattern: null,
      defaultDashboardName: null,
      alwaysFullScreen: false,
    },
    custom: {
      password: null,
      sendToken: false,
      url: null,
      username: null,
    },
  },
  clientId: null,
  clientSecret: null,
  authorizationUri: null,
  accessTokenUri: null,
  scope: [],
  userInfoUri: null,
  userNameAttributeName: 'email',
  jwkSetUri: null,
  clientAuthenticationMethod: 'POST',
  loginButtonLabel: null,
  loginButtonIcon: null,
  platforms: [],
  additionalInfo: {
    providerName: 'Custom',
  },
};
